
//1749.任意子数组和的绝对值的最大值
class Solution {
public:
    int maxAbsoluteSum(vector<int>& nums) {
        //求一个区间的绝对值可以使用abs(lsum[end]-sum[start])
        //求出每个区间的绝对值后如何求出最大的呢???
        //最大绝对值 = 最大和 - 最小和

        int n = nums.size(),low = 0 ,heig = 0;      //使用low记录最小和在,heig记录最大和
        vector<int> lsum(n+1);
        for(int i = 0 ; i < n;i++)
        {
            lsum[i+1] = lsum[i] + nums[i];          //更新前缀和
            low = min(low,lsum[i+1]);               //更新最大值和最小值
            heig = max(heig,lsum[i+1]);
        }
        
        return heig - low;
    }
};